package br.com.JZSolution.domineduplex.utils;

import java.text.NumberFormat;

public class ConversorDeUnidades {
	private static final long KB = 1024;
	private static final long MB = 1048576;
	private static final long GB = 1073741824;
	private static NumberFormat nf = NumberFormat.getInstance();
	
	/**
	 * Converte o tamanho em bytes para a maior unidade possivel ate GB
	 * @param tamanhoBytes
	 * @return string do tamanho formatado e a unidade que foi utilizada
	 */
    public static String tratarTamanhoDeArquivo(long tamanhoBytes){
    	double tamanho = 0;
    	String unidade = " B";
    	nf.setMinimumFractionDigits(0);
		nf.setMaximumFractionDigits(2);
    	
    	if((tamanhoBytes / GB) > 0){
    		tamanho = (tamanhoBytes/(double)GB);
    		unidade = " GB";
    	}else if((tamanhoBytes/MB) > 0){
    		tamanho = (tamanhoBytes/(double)MB);
    		unidade = " MB";
    	}else if((tamanhoBytes/KB) > 0){
    		tamanho = (tamanhoBytes/(double)KB);
    		unidade = " KB";
    	}else{
    		tamanho = tamanhoBytes;
    		unidade =" B";
    	}	
    	
    	return nf.format(tamanho) + unidade;
    }

	public static String tratarVelocidade(float velocidade) {
		nf.setMinimumFractionDigits(1);
		nf.setMaximumFractionDigits(1);
		return nf.format(velocidade)+" Kbps";
	}
}
